package com.hdax.dm.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hdax.dm.common.exception.DmException;
import com.hdax.dm.entity.order.Order;
import com.hdax.dm.order.vo.SubmitOrderVo;
import com.hdax.dm.utils.CommonResponse;
import org.apache.ibatis.annotations.Param;


public interface OrderService extends IService<Order> {
    CommonResponse submitOrder(Long UserId, SubmitOrderVo dto) throws DmException;

    Boolean deleteOrder(String orderNo);

    /**
     * 根据订单编号查询订单信息
     * @param orderNo
     * @return
     */
    Order getOrder(String orderNo);

    /**
     * 修改订单：添加支付宝订单号
     */
    Boolean updateOrder(String orderNo, String tradeNo);

    /**
     * 查询
     * @param orderNo
     * @return
     */
    Order order( String orderNo);

    /**
     * 修改支付状态
     * @param orderNo
     * @return
     */
    Boolean updateOrderChao( String orderNo);

    /**
     * 取消订单
     * @param orderNo
     * @return
     */
    public CommonResponse cancelOrder(String orderNo);

    /**
     * 修改订单状态为已退款
     * @param orderNo
     * @return
     */
    boolean updateOrderTwo(String orderNo);

    /**
     * 根据指定订单号查询指定信息
     * @param orderNo
     * @return
     */
    Order selectOne(String orderNo);
}
